#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/wait.h>

void if_error(pid_t pid,char* str);
int main(){
	int res=0;
	pid_t pid=0;
	pid=fork();
	if_error(pid,"fork");
	if(pid==0){
		sleep(1);
		printf("fork1\n");
		exit(0);
	}else{
		pid=fork();
		if_error(pid,"fork");
		if(pid==0){
			sleep(3);
			printf("fork2\n");
			exit(0);
		}else{
			while((pid= waitpid(-1,NULL,WNOHANG))==0);
			while((pid=waitpid(-1,NULL,WNOHANG))==0);
			printf("main\n");
		}
	}
	return 0;
}
void if_error(pid_t pid,char* str){
	if(pid==-1){
		perror(str);
		exit(1);
	}
}

